﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using US.DataAccess.Attributes;
using US.Utilities;

namespace US.Entity
{
    /// <summary>  
    /// 海关编码
    /// <author>  
    ///     <name>wx</name>  
    ///     <date>2018.11.08 15:39</date>  
    /// </author>  
    /// </summary> 
    [Description("海关编码")]
    [PrimaryKey("BMS_CUSTOM_ITEM_ID")]
    public class Bms_Custom_Item: BaseEntity
    {
        #region 获取/设置 字段值  
        /// <summary>  
        /// BMS_CUSTOM_ITEM_ID  
        /// </summary>  
        /// <returns></returns>  
        [DisplayName("主键")]
        public string BMS_CUSTOM_ITEM_ID { get; set; }
        /// <summary>  
        /// HS_CODE  
        /// </summary>  
        /// <returns></returns>  
        [DisplayName("海关编码=类别编码+商品编码")]
        public string HS_CODE { get; set; }
        /// <summary>  
        /// HS_NO  
        /// </summary>  
        /// <returns></returns>  
        [DisplayName("类别编码")]
        public string HS_NO { get; set; }
        /// <summary>  
        /// SUB_CODE  
        /// </summary>  
        /// <returns></returns>  
        [DisplayName("商品编码")]
        public string SUB_CODE { get; set; }
        /// <summary>  
        /// YYYY  
        /// </summary>  
        /// <returns></returns>  
        [DisplayName("适用年份")]
        public string YYYY { get; set; }
        /// <summary>  
        /// ITEM_DESC  
        /// </summary>  
        /// <returns></returns>  
        [DisplayName("商品名称")]
        public string ITEM_DESC { get; set; }
        /// <summary>  
        /// REMARK  
        /// </summary>  
        /// <returns></returns>  
        [DisplayName("货物说明")]
        public string REMARK { get; set; }
        /// <summary>  
        /// GENERAL_DUTY  
        /// </summary>  
        /// <returns></returns>  
        [DisplayName("普通税率")]
        public decimal? GENERAL_DUTY { get; set; }
        /// <summary>  
        /// PREFERENTIAL_DUTY  
        /// </summary>  
        /// <returns></returns>  
        [DisplayName("最惠国税率")]
        public decimal? PREFERENTIAL_DUTY { get; set; }
        /// <summary>  
        /// BA  
        /// </summary>  
        /// <returns></returns>  
        [DisplayName("曼协税率")]
        public decimal? BA { get; set; }
        /// <summary>  
        /// EXPORT_TAX  
        /// </summary>  
        /// <returns></returns>  
        [DisplayName("出口退税")]
        public decimal? EXPORT_TAX { get; set; }
        /// <summary>  
        /// EXCISE  
        /// </summary>  
        /// <returns></returns>  
        [DisplayName("国内货物税")]
        public decimal? EXCISE { get; set; }
        /// <summary>  
        /// VALUE_ADDED_TAX  
        /// </summary>  
        /// <returns></returns>  
        [DisplayName("增值税率")]
        public decimal? VALUE_ADDED_TAX { get; set; }
        /// <summary>  
        /// MONITOR_TERM  
        /// </summary>  
        /// <returns></returns>  
        [DisplayName("监管条件")]
        public string MONITOR_TERM { get; set; }
        /// <summary>  
        /// MONITOR_DESC  
        /// </summary>  
        /// <returns></returns>  
        [DisplayName("监管说明")]
        public string MONITOR_DESC { get; set; }
        /// <summary>  
        /// IC_TYPE  
        /// </summary>  
        /// <returns></returns>  
        [DisplayName("商检类别")]
        public string IC_TYPE { get; set; }
        /// <summary>  
        /// MEASURE_CODE1  
        /// </summary>  
        /// <returns></returns>  
        [DisplayName("第一计量单位")]
        public string MEASURE_CODE1 { get; set; }
        /// <summary>  
        /// MEASURE_CODE2  
        /// </summary>  
        /// <returns></returns>  
        [DisplayName("第二计量单位")]
        public string MEASURE_CODE2 { get; set; }
        /// <summary>  
        /// PRICE_REF  
        /// </summary>  
        /// <returns></returns>  
        [DisplayName("单价下限")]
        public decimal? PRICE_REF { get; set; }
        /// <summary>  
        /// PRICE_REF_H  
        /// </summary>  
        /// <returns></returns>  
        [DisplayName("单价上限")]
        public decimal? PRICE_REF_H { get; set; }
        /// <summary>  
        /// CURRENCY_CODE  
        /// </summary>  
        /// <returns></returns>  
        [DisplayName("币别")]
        public string CURRENCY_CODE { get; set; }
        /// <summary>  
        /// ITEM_DESC_EN  
        /// </summary>  
        /// <returns></returns>  
        [DisplayName("项目定义")]
        public string ITEM_DESC_EN { get; set; }
        /// <summary>  
        /// CREATE_USER_ID  
        /// </summary>  
        /// <returns></returns>  
        [DisplayName("创建者ID")]
        public string CREATE_USER_ID { get; set; }
        /// <summary>  
        /// CREATE_DATE  
        /// </summary>  
        /// <returns></returns>  
        [DisplayName("创建时间")]
        public DateTime CREATE_DATE { get; set; }
        /// <summary>  
        /// LAST_UPDATE_USER_ID  
        /// </summary>  
        /// <returns></returns>  
        [DisplayName("最后更改者ID")]
        public string LAST_UPDATE_USER_ID { get; set; }
        /// <summary>  
        /// LAST_UPDATE_DATE  
        /// </summary>  
        /// <returns></returns>  
        [DisplayName("最后更改时间")]
        public DateTime LAST_UPDATE_DATE { get; set; }
        /// <summary>  
        /// ELEMENT_DEC  
        /// </summary>  
        /// <returns></returns>  
        [DisplayName("申报元素")]
        public string ELEMENT_DEC { get; set; }
        #endregion

        #region 扩展操作  
        /// <summary>  
        /// 新增调用  
        /// </summary>  
        public override void Create()
        {
            this.BMS_CUSTOM_ITEM_ID = CommonHelper.GetGuid;
            this.CREATE_DATE = DateTime.Now;
            this.LAST_UPDATE_DATE = DateTime.Now;
            this.CREATE_USER_ID = ManageProvider.Provider.Current().UserId;
            this.LAST_UPDATE_USER_ID = ManageProvider.Provider.Current().UserId;
        }
        /// <summary>  
        /// 编辑调用  
        /// </summary>  
        /// <param name="KeyValue"></param>  
        public override void Modify(string KeyValue)
        {
            this.BMS_CUSTOM_ITEM_ID = KeyValue;
            this.LAST_UPDATE_DATE = DateTime.Now;
            this.LAST_UPDATE_USER_ID = ManageProvider.Provider.Current().UserId;
        }
        #endregion
    }
}
